//#include <stdio.h>
//
//int main() {
//    unsigned long long x;
//    scanf_s("%llu", &x); 
//
//    int count = 0;
//    while (x) {
//        count++;
//        x &= (x - 1); 
//    }
//
//    printf("%d", count); 
//    return 0;
//}

//#include <stdio.h>
//
//int main() {
//    unsigned int m, n;
//    scanf_s("%u %u", &m, &n); 
//
//    unsigned int x = m ^ n; 
//    int count = 0;
//
//    while (x) 
//    {
//        count++;
//        x &= (x - 1); 
//    }
//
//    printf("%d", count); 
//    return 0;
//}

//#include <stdio.h>
//
//int main() 
//{
//    int t;
//    scanf_s("%d", &t); 
//
//    while (t--) 
//    {
//        int n;
//        scanf_s("%d", &n); 
//
//        int a[100];
//        for (int i = 0; i < n; i++) 
//        {
//            scanf_s("%d", &a[i]);
//        }
//
//        printf("%d\n", a[0]); 
//    }
//
//    return 0;
//}

//#include <stdio.h>
//
//int main() 
//{
//    int T;
//    scanf_s("%d", &T); 
//
//    while (T--) 
//    {
//        int n;
//        scanf_s("%d", &n);
//
//        if (n == 1)
//        {
//            printf("1\n");
//        }
//        else
//        {
//            for (int i = 0; i < n - 1; i++) 
//            {
//                printf("0 ");
//            }
//            printf("1\n");
//        }
//    }
//
//    return 0;
//}

#include <stdio.h>

int main() 
{
    int t;
    scanf_s("%d", &t); 

    while (t--) 
    {
        long long x, y;
        scanf_s("%lld %lld", &x, &y); 

        long long d = x ^ y; 
        long long lowbit = d & -d; 

        printf("%lld\n", lowbit); 
    }

    return 0;
}